package com.ss.sdg.interfacedependence;

import java.util.Vector;

import com.ss.common.MethodPath;
import com.ss.sdg.interfacedependence.IDEdge;
import com.ss.sdg.interfacedependence.Node;
public class InterfaceDependence {

	//attributes of interface dependence
	private String name;
 
	private int nodeCount;
	 
	private int iDEdgeCount; 
	 
	private Vector<Node> nodes;
	 
	private Vector<IDEdge> iDEdges;
	
	private MethodPath methodPath;

	//constructor and getters setters
	public InterfaceDependence() {
		super();
		this.nodes = new Vector<Node>();
		this.iDEdges = new Vector<IDEdge>();
	}

	public MethodPath getMethodPath() {
		return methodPath;
	}

	public void setMethodPath(MethodPath methodPath) {
		this.methodPath = methodPath;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getNodeCount() {
		return nodeCount;
	}

	public void setNodeCount(int nodeCount) {
		this.nodeCount = nodeCount;
	}

	public int getiDEdgeCount() {
		return iDEdgeCount;
	}

	public void setiDEdgeCount(int iDEdgeCount) {
		this.iDEdgeCount = iDEdgeCount;
	}

	public Vector<Node> getNodes() {
		return nodes;
	}

	public void setNodes(Vector<Node> nodes) {
		this.nodes = nodes;
	}

	public Vector<IDEdge> getiDEdges() {
		return iDEdges;
	}

	public void setcDEdges(Vector<IDEdge> iDEdges) {
		this.iDEdges = iDEdges;
	}

	public void addNode(Node node){
		this.nodes.add(node);
	}
	
	public void nodeIncreasing(){
		this.nodeCount++;
	}
	
	public void addIDEdge(IDEdge edge){
		this.iDEdges.add(edge);
	}
	
	public void iDEdgeIncreasing(){
		this.iDEdgeCount++;
	}
}
